#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    // 基础用法：创建和初始化
    vector<int> numbers = {1, 2, 3, 4, 5};
    vector<string> names(3, "Unknown"); // 创建3个"Unknown"元素

    // 添加和访问元素
    numbers.push_back(6);           // 在末尾添加元素
    numbers.insert(numbers.begin() + 2, 10); // 在位置2插入10

    cout << "第3个元素: " << numbers[2] << endl;
    cout << "安全访问: " << numbers.at(2) << endl; // 带边界检查

    // 实际应用：学生成绩统计
    vector<double> scores = {85.5, 92.0, 78.5, 88.0, 95.5};

    // 计算平均分：auto：让编译器自动推断 score 的类型（比如 int、float 等）。
    double sum = 0;
    for (const auto& score : scores) {
        sum += score;
    }

    double average = sum / scores.size();

    // 查找最高分
    auto max_it = max_element(scores.begin(), scores.end());
    double max_score = *max_it;

    cout << "平均分: " << average << endl;
    cout << "最高分: " << max_score << endl;
    cout << "班级人数: " << scores.size() << endl;

    return 0;
}
